package com.zhiyou100.pra2;

/**
 * 编写程序模拟“主人”喂养“宠物”的场景：
 * 提示1：
 *     主人类：Master
 *     宠物类：Pet
 *     宠物类子类：Dog、Cat
 * 提示2：
 *     主人应该有喂养的方法：feed()
 *     宠物有吃的方法：eat()
 *     只要主人喂宠物，宠物就吃。
 *
 * 要求：主人类中只提供一个喂养方法feed()，要求达到可以喂养各种类型的宠物。注意feed方法的形参定义
 */
public class Master {
    //喂养
    public void feed(Pet pet){
//        if(pet instanceof Cat){
//            Cat cat = (Cat) pet;
//            cat.eat();
//        }
//        if(pet instanceof Dog){
//            Dog dog = (Dog) pet;
//            dog.eat();
//        }
        pet.eat();
    }
    //玩耍
    public void play(Pet pet){
        pet.play();
    }

    public static void main(String[] args) {

        Pet pet = new Dog();
        //此时这个eat方法是子类对象Dog的
        pet.eat();

        Pet pet2 = new Cat();
        //eat是子类对象Cat的
        pet2.eat();
        //向下转型做类型判断
        if (pet2 instanceof Cat){
            Cat cat =(Cat) pet2;
        }



    }

}
